﻿using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using MySql.Data;
using MySql.Data.MySqlClient;

/// <summary>
/// Descripción breve de ProfesionalesDA
/// </summary>

public static class ProfesionalesDA
{
    public static DataTable selectProfesionalesxEspecialidad(string especialidadid)
    {//busqueda para cualquier localidad
        
        MySqlConnection conexion = Conexion.obtConexion();
        DataTable tabla = new DataTable("profesional");
        string consulta = @"SELECT 
                            `profesionales`.`PROFESIONALDNI` AS `DNI`,
                            `profesionales`.`PROFESIONALAPELLIDO` AS `Apellido`,
                            `profesionales`.`PROFESIONALNOMBRE` AS `Nombre`,
                            `profesionales`.`PROFESIONALDOMICILIO` AS `Domicilio`,
                            `profesionales`.`PROFESIONALLOCALIDAD` AS `Localidad`,
                            `profesionales`.`PROFESIONALTELEFONO` AS `Telefono`,
                            `profesionales`.`PROFESIONALMATRICULA` AS `Matricula`,
                            `profesionales`.`COLEGIOID` AS `Colegio`,
                            CONCAT(`profesionales`.`PROFESIONALAPELLIDO`,', ', `profesionales`.`PROFESIONALNOMBRE`) AS `ApellidoyNombre`
                            FROM profesionales NATURAL JOIN especialidades_profesionales 
                            WHERE especialidadesid=" + especialidadid;
        MySqlCommand comando = new MySqlCommand(consulta, conexion);
        conexion.Open();
        MySqlDataReader dataReader = comando.ExecuteReader();
        tabla.Load(dataReader, LoadOption.OverwriteChanges);
        conexion.Close();
        return tabla;
    }

    public static DataTable selectProfesionalesxLocalidad(string localidad)
    {//busqueda para cualquier localidad

        MySqlConnection conexion = Conexion.obtConexion();
        DataTable tabla = new DataTable("profesional");
        string consulta = @"SELECT 
                            `profesionales`.`PROFESIONALDNI` AS `DNI`,
                            `profesionales`.`PROFESIONALAPELLIDO` AS `Apellido`,
                            `profesionales`.`PROFESIONALNOMBRE` AS `Nombre`,
                            `profesionales`.`PROFESIONALDOMICILIO` AS `Domicilio`,
                            `profesionales`.`PROFESIONALLOCALIDAD` AS `Localidad`,
                            `profesionales`.`PROFESIONALTELEFONO` AS `Telefono`,
                            `profesionales`.`PROFESIONALMATRICULA` AS `Matricula`,
                            `profesionales`.`COLEGIOID` AS `Colegio`,
                            CONCAT(`profesionales`.`PROFESIONALAPELLIDO`,', ', `profesionales`.`PROFESIONALNOMBRE`) AS `ApellidoyNombre`
                            FROM profesionales
                            WHERE profesionallocalidad='" + localidad + "'";
        MySqlCommand comando = new MySqlCommand(consulta, conexion);
        conexion.Open();
        MySqlDataReader dataReader = comando.ExecuteReader();
        tabla.Load(dataReader, LoadOption.OverwriteChanges);
        conexion.Close();
        return tabla;
    }

    public static DataTable selectProfesionalesxEspecialidadxlocalidad(string especialidadid, string profesionallocalidad)
    {// a este metodo le agregue la consulta por localidad como estaba en la pantalla y mas datos
        
        MySqlConnection conexion = Conexion.obtConexion();
        DataTable tabla = new DataTable("profesional");
        string consulta = @"SELECT 
                            `profesionales`.`PROFESIONALDNI` AS `DNI`,
                            `profesionales`.`PROFESIONALAPELLIDO` AS `Apellido`,
                            `profesionales`.`PROFESIONALNOMBRE` AS `Nombre`,
                            `profesionales`.`PROFESIONALDOMICILIO` AS `Domicilio`,
                            `profesionales`.`PROFESIONALLOCALIDAD` AS `Localidad`,
                            `profesionales`.`PROFESIONALTELEFONO` AS `Telefono`,
                            `profesionales`.`PROFESIONALMATRICULA` AS `Matricula`,
                            `profesionales`.`COLEGIOID` AS `Colegio`,
                            CONCAT(`profesionales`.`PROFESIONALAPELLIDO`,', ', `profesionales`.`PROFESIONALNOMBRE`) AS `ApellidoyNombre`
                            FROM profesionales NATURAL JOIN especialidades_profesionales 
                            WHERE especialidadesid=" + especialidadid + " AND profesionallocalidad = '" + profesionallocalidad + "'";
        MySqlCommand comando = new MySqlCommand(consulta, conexion);
        conexion.Open();
        MySqlDataReader dataReader = comando.ExecuteReader();
        tabla.Load(dataReader, LoadOption.OverwriteChanges);
        conexion.Close();
        return tabla;
    }
    


    public static DataTable ListarProfesionales()
    {
        MySqlConnection conexion = Conexion.obtConexion();
        DataTable tabla = new DataTable();
        string consulta = @"SELECT 
        `profesionales`.`PROFESIONALDNI` AS `DNI`,
        `profesionales`.`PROFESIONALAPELLIDO` AS `Apellido`,
        `profesionales`.`PROFESIONALNOMBRE` AS `Nombre`,
        `profesionales`.`PROFESIONALDOMICILIO` AS `Domicilio`,
        `profesionales`.`PROFESIONALLOCALIDAD` AS `Localidad`,
        `profesionales`.`PROFESIONALTELEFONO` AS `Telefono`,
        `profesionales`.`PROFESIONALMATRICULA` AS `Matricula`,
        `profesionales`.`COLEGIOID` AS `Colegio`
        FROM `profesionales`;";
        MySqlCommand comando = new MySqlCommand(consulta, conexion);
        conexion.Open();
        MySqlDataReader dataReader = comando.ExecuteReader();
        tabla.Load(dataReader, LoadOption.OverwriteChanges);
        conexion.Close();
        return tabla;
    }

    public static DataTable selectLocalidades()
    {
        MySqlConnection conexion = Conexion.obtConexion();
        DataTable tabla = new DataTable();
        string consulta = @"SELECT DISTINCT `profesionales`.`PROFESIONALLOCALIDAD` AS `Localidad`
                            FROM `profesionales`;";
        MySqlCommand comando = new MySqlCommand(consulta, conexion);
        conexion.Open();
        MySqlDataReader dataReader = comando.ExecuteReader();
        tabla.Load(dataReader, LoadOption.OverwriteChanges);
        conexion.Close();
        return tabla;
    }

    public static string EliminarProfesional(string PROFESIONALDNI)
    {    

        MySqlConnection conexion = Conexion.obtConexion();
        string consulta = @"DELETE FROM profesionales
                            WHERE PROFESIONALDNI=" + PROFESIONALDNI;
        MySqlCommand comando = new MySqlCommand(consulta, conexion);
        try
        {
            conexion.Open();
            comando.ExecuteReader();
            conexion.Close();
            return "ok";
        }
        catch
        {
            return consulta;
        }
    }
    public static string ModificarProfesional(string PROFESIONALDNI, string PROFESIONALAPELLIDO,
                                              string PROFESIONALNOMBRE, string PROFESIONALDOMICILIO,
                                              string PROFESIONALLOCALIDAD,string PROFESIONALTELEFONO,
                                              string PROFESIONALMATRICULA, string COLEGIOID, string PROFESIONALDNINUEVO)
    {

        MySqlConnection conexion = Conexion.obtConexion();
        string consulta = @"update profesionales set
        `profesionales`.`PROFESIONALDNI`=" + PROFESIONALDNINUEVO +
     " ,`profesionales`.`PROFESIONALAPELLIDO` ='"+PROFESIONALAPELLIDO+
     "',`profesionales`.`PROFESIONALNOMBRE`='"+PROFESIONALNOMBRE+
     "',`profesionales`.`PROFESIONALDOMICILIO` ='"+PROFESIONALDOMICILIO+
     "',`profesionales`.`PROFESIONALLOCALIDAD`='"+PROFESIONALLOCALIDAD+
     "',`profesionales`.`PROFESIONALTELEFONO`='"+PROFESIONALTELEFONO+
     "',`profesionales`.`PROFESIONALMATRICULA`='" + PROFESIONALMATRICULA +
     "',`profesionales`.`COLEGIOID`="+COLEGIOID+
        " where PROFESIONALDNI=" + PROFESIONALDNI;
        MySqlCommand comando = new MySqlCommand(consulta, conexion);
        try
        {
            conexion.Open();
            comando.ExecuteReader();
            conexion.Close();
            return "ok";
        }
        catch
        {
            return consulta;
        }
    }

    public static string AgregarProfesional(string PROFESIONALDNI, string PROFESIONALAPELLIDO,
                                            string PROFESIONALNOMBRE, string PROFESIONALDOMICILIO, 
                                            string PROFESIONALLOCALIDAD,string PROFESIONALTELEFONO,
                                            string PROFESIONALMATRICULA, string COLEGIOID, string PROFESIONALFECHAALTA)
    {

        MySqlConnection conexion = Conexion.obtConexion();
        string consulta = @"insert into profesionales set
        `profesionales`.`PROFESIONALDNI`=" + PROFESIONALDNI +
     " ,`profesionales`.`PROFESIONALAPELLIDO` ='" + PROFESIONALAPELLIDO +
     "',`profesionales`.`PROFESIONALNOMBRE`='" + PROFESIONALNOMBRE +
     "',`profesionales`.`PROFESIONALDOMICILIO` ='" + PROFESIONALDOMICILIO +
     "',`profesionales`.`PROFESIONALLOCALIDAD`='" + PROFESIONALLOCALIDAD +
     "',`profesionales`.`PROFESIONALTELEFONO`='" + PROFESIONALTELEFONO +
     "',`profesionales`.`PROFESIONALMATRICULA`='" + PROFESIONALMATRICULA +
     "',`profesionales`.`COLEGIOID`=" + COLEGIOID+
     " ,`profesionales`.`PROFESIONALFECHAALTA`='" + PROFESIONALFECHAALTA + "'";
       
        MySqlCommand comando = new MySqlCommand(consulta, conexion);
        try
        {
            conexion.Open();
            comando.ExecuteReader();
            conexion.Close();
            return "ok";
        }
        catch
        {
            return consulta;
        }
    }
    public static DataTable BuscarProfesional(string PROFESIONALDNI)
    {
        DataTable resultado = new DataTable();
        MySqlConnection conexion = Conexion.obtConexion();
        string consulta = @"SELECT 
        `profesionales`.`PROFESIONALDNI` AS `DNI`,
        `profesionales`.`PROFESIONALAPELLIDO` AS `Apellido`,
        `profesionales`.`PROFESIONALNOMBRE` AS `Nombre`,
        `profesionales`.`PROFESIONALDOMICILIO` AS `Domicilio`,
        `profesionales`.`PROFESIONALLOCALIDAD` AS `Localidad`,
        `profesionales`.`PROFESIONALTELEFONO` AS `Telefono`,
        `profesionales`.`PROFESIONALMATRICULA` AS `Matricula`,
        `profesionales`.`COLEGIOID` AS `Colegio`
        FROM `profesionales` WHERE  `profesionales`.`PROFESIONALDNI` =" + PROFESIONALDNI;
        MySqlCommand comando = new MySqlCommand(consulta, conexion);
        conexion.Open();
        MySqlDataReader dataReader = comando.ExecuteReader();
        resultado.Load(dataReader, LoadOption.OverwriteChanges);
        conexion.Close();
        return resultado;

    }
    public static string EliminarProfesionalEspecialidad(string PROFESIONALDNI)
    {

        MySqlConnection conexion = Conexion.obtConexion();
        string consulta = @"DELETE FROM especialidades profesionales
                            WHERE PROFESIONALDNI=" + PROFESIONALDNI;
        MySqlCommand comando = new MySqlCommand(consulta, conexion);
        try
        {
            conexion.Open();
            comando.ExecuteReader();
            conexion.Close();
            return "ok";
        }
        catch
        {
            return consulta;
        }
    }
}
